package com.sigerap.comanda.service;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

import com.sigerap.comanda.model.Comanda;
import com.sigerap.comanda.model.dao.jpa.JPAComandaDAO;
import com.sigerap.common.model.dao.EntidadDAO;
import com.sigerap.common.util.Utilitario;

/**
 * <p>Controladora de eventos del negocio (Flujo de Actividades)</p>
 * 
 * @author Spirit-20121
 *
 */
public class RegistroService {

	private EntityManager em;
	private EntidadDAO<Comanda> comandaDAO;

	
	public RegistroService(){
		em = Utilitario.getInstance().getEntityManager();
		comandaDAO = new JPAComandaDAO(em);
	}
	
	public List<Comanda> listarComandas(){
		return comandaDAO.findAll();
	}
	
	public Comanda consultarComanda(Comanda comanda){
		return comandaDAO.findById(comanda);
	}
	
	public Comanda registrarComanda(Comanda comanda){
		EntityTransaction tx= em.getTransaction();
		try{
			tx.begin();
			comandaDAO.insert(comanda);
			tx.commit();
		}catch(Exception ex){
			ex.printStackTrace();
			tx.rollback();
			throw new RuntimeException("No se pudo registrar comanda");
		}
		return comanda;
	}
	

	

	
}